﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;

/// <summary>
/// Summary description for CheckValid
/// </summary>
public class CheckValid
{
	public CheckValid()
	{
		
	}
    ///<summary>
    ///Method check tính hợp lệ điểm nhập vào
    ///truyền vào 1 chuỗi và kiểm tra tính hợp lệ
    ///method trả về 0 là hợp lệ- 1 là chưa có ký tự - 2 là không phải số - 3 là không nằm trong khoảng từ 0 - 10
    ///</summary>
    ///
    public int checkMark(string mark){
        //Kiểm tra độ dài chuỗi
        if (mark.Length == 0)
        {
            return 1;
        }
        else
        {
            //convert sang mảng char để check xem có phải số hay không
            char[] cmark = mark.ToCharArray();
            
            foreach (char c in cmark)
            {
                if (!char.IsDigit(c))
                {
                    return 2;
                }
            }

            //convert sang int để check nằm trong khoảng 0 -10
            int iMark = Convert.ToInt32(mark);
            if (iMark >= 0 && iMark <= 10)
            {
            }
            else
            {
                return 3;
            }
        }
        //trả về giá trị
        return 0;
    }
    ///<summary>
    ///Method kiểm tra có đủ điều kiện qua
    ///truyền vào điểm và kiểm tra
    ///method trả về 1 là qua. 0 là không qua
    ///</summary>
    public int checkPass(decimal mark) {
        //Biến lưu giá trị kiểm tra
        int check = 0;
        //Điều kiện là >=4
        if (mark >= 4)
        {
            check = 1;
        }
        else {
            check = 0;
        }
        //trả về giá trị int
        return check;
    }
    ///<summary>
    ///Method kiểm tra ngày tháng có lớn hơn ngày tháng hiện tại không
    ///truyền vào date time  và kiểm tra
    ///method trả về 1 là lớn hơn. 0 là nhỏ hơn
    ///</summary>
    public int checkDate(DateTime cDateTime)
    {
        if (DateTime.Compare(DateTime.Now,cDateTime) <= 0)
        {
            return 1;
        }
        else {
            return 0;
        }
    }

    /// <summary>
    /// Method kiểm tra xem file có đúng là ảnh ko
    /// </summary>
    /// <param name="fileName"></param>
    /// <returns></returns>
    public bool CheckFileType(string fileName)
    {

        string ext = Path.GetExtension(fileName);

        switch (ext.ToLower())
        {

            case ".gif":

                return true;

            case ".png":

                return true;

            case ".jpg":

                return true;

            case ".jpeg":

                return true;

            default:

                return false;

        }

    }
    
}
